#ifndef UART_H
#define UART_H

#include <QWidget>
#include <QDebug>
#include <QSerialPortInfo>
#include <QSerialPort>
#include <QTimer>
#include <QByteArray>
#include <QString>
#include <QPair>
#include "datamonitoring.h"
#include "databasemanager.h"

QT_BEGIN_NAMESPACE
namespace Ui { class Uart; }
QT_END_NAMESPACE

class Uart : public QWidget
{
    Q_OBJECT

public:
    Uart(QWidget *parent = nullptr);
    ~Uart();
    void UIInit();

    // 设置DataMonitoring指针的方法
    void setDataMonitoring(DataMonitoring* dm);

public slots:
    void onOpenPort();
    void onSendMsg();
    void onClearReceBuffer(); //清空接收区
    void onClearSendBuffer(); //清空发送区

    void refreshSerialPorts();
    void onReadData();

private:
    Ui::Uart *ui;
    bool m_isOpen;
    QSerialPort *m_pSerialPort;
    DataMonitoring* m_pDataMonitoring;
    DatabaseManager* dbManager;

};

#endif // UART_H
